כברירת מחדל, מסך הכניסה של Windows מציג את החשבון של המשתמש האחרון שנכנס למחשב זה ורשימה של כל המשתמשים המקומיים. Windows מאפשר לך להסתיר או להציג את שם המשתמש האחרון שנכנס לחשבון, או אפילו לרשום את כל משתמשי הדומיין המקומיים או הפעילים במסך הכניסה של המחשב.
הסתר את שם המשתמש שנכנס לאחרונה ממסך ההתחברות של Windows
למשתמשים נוח לראות את שם החשבון האחרון שנרשם במסך הכניסה של Windows ללא צורך להקליד אותו ידנית בכל פעם. מטעמי אבטחה, אתה יכול למנוע את הצגת שם המשתמש האחרון במסך הכניסה של Windows במחשבים ציבוריים (או מיקומים לא מאובטחים אחרים) באמצעות GPO:
- פתח את הדומיין (
gpmc.msc) או את עורך המדיניות הקבוצתית המקומי ( gpedit.msc ) ועבור לתצורת מחשב -> הגדרות Windows -> הגדרות אבטחה -> מדיניות מקומית -> אפשרויות אבטחה ; - הפעל את המדיניות כניסה אינטראקטיבית: אל תציג את הכניסה האחרונה . מדיניות זו מושבתת כברירת מחדל;
- כדי להסתיר את שם המשתמש המחובר במסך הנעילה (כשהמחשב נעול על ידי לחיצה על
Win+Lאו דרך מסך הנעילה GPO ), הפעל את אפשרות המדיניות הקבוצתית " כניסה אינטראקטיבית: הצג פרטי משתמש כשההפעלה נעולה" והגדר את הערך " אל תציג מידע משתמש".פרמטר הרישום DontDisplayLockedUserId באותו מפתח רישום עם ערך 3 תואם להגדרת מדיניות זו.
שדות ריקים של שם משתמש וסיסמה מופיעים כעת במסכי הכניסה והנעילה של Windows במקום שם המשתמש שנכנס קודם לכן.
אתה יכול להסתיר את רשימת המשתמשים ממסך הנעילה של Windows על ידי שימוש בפרמטר הרישום DisableBackButton :
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_DWORD /f /d 0 /v DisableBackButton
כדי לבטל את נעילת המחשב, על המשתמש להזין את הסיסמה שלו. כדי להציג רשימה של חשבונות משתמש מקומיים, על המשתמש תחילה ללחוץ על כפתור החלף משתמש במסך הנעילה.
הצג את כל המשתמשים המקומיים במסך הכניסה של Windows
כברירת מחדל, רכיבי Windows מודרניים (נבדקו ב-Windows 11 23H2 ו-Windows 10 22H2) מציגים תמיד רשימה של משתמשים מקומיים מופעלים בפינה השמאלית התחתונה של מסך הכניסה. זה עובד רק במחשבים שאינם מחוברים לתחום Active Directory . חשבונות משתמש מוסתרים (ראה להלן) ומושבתים אינם מוצגים במסך הכניסה.
כדי להיכנס למחשב, המשתמש פשוט לוחץ על חשבון המשתמש הנדרש ומזין את הסיסמה שלו.
אם רשימת המשתמשים המקומיים אינה מוצגת במסך הכניסה של Windows, בדוק את ההגדרות הבאות בעורך GPO המקומי ( gpedit.msc):
- כניסה אינטראקטיבית: אל תציג את הכניסה האחרונה =
Disabled(תצורת מחשב -> הגדרות Windows -> הגדרות אבטחה -> מדיניות מקומית -> אפשרויות אבטחה); - מנה משתמשים מקומיים במחשבים המחוברים לדומיין =
Enabled(תצורת מחשב -> תבניות ניהול -> מערכת -> כניסה) .
הפעל מחדש את המחשב כדי להחיל את הגדרות המדיניות הקבוצתית החדשות .
הצג משתמשי דומיין מחוברים במסך הכניסה של Windows
אם יותר ממשתמש אחד משתמש באותו מחשב, תוכל לראות רשימה של משתמשים עם הפעלות פעילות במסך הכניסה של Windows. הפעלה פעילה פירושה שהמשתמש מחובר למחשב. זה יכול להיות מחשב משותף (בשימוש במצב החלפת משתמש), קיוסק, מארחים של Windows Server המריצים את תפקיד ה-RDS או התקני Windows 11/10 המאפשרים חיבורי RDP מרובים ).
בדוק שהמדיניות הבאה מושבתת בתצורת מחשב -> הגדרות Windows -> הגדרות אבטחה -> מדיניות מקומית -> אפשרויות אבטחה:
- כניסה אינטראקטיבית: אל תציג את הכניסה האחרונה : מושבת
- כניסה אינטראקטיבית: אל תציג שם משתמש בכניסה : מושבת
לאחר מכן השבת את אפשרויות GPO בתצורת מחשב -> תבניות ניהול -> מערכת -> כניסה:
- חסימת משתמש מלהציג פרטי חשבון בכניסה: מושבת
- אין למנות משתמשים מחוברים במחשב המחובר לדומיין: מושבת
rsop.mscאו gpresult .לאחר מכן תופיע רשימה של משתמשים מחוברים במסך הפתיחה של Windows. הן הפעלות משתמש פעילות והן מנותקות (לדוגמה, עקב פסק זמן של RDP ) מוצגות.
הסתר חשבונות משתמש ספציפיים ממסך הכניסה של Windows
מסך הפתיחה של Windows מציג תמיד משתמשים החברים באחת מהקבוצות המקומיות הבאות: Administrators , Users , Power Users ו- אורחים (למעט חשבונות המשתמש המושבתים).
אתה יכול להסתיר משתמשים ספציפיים מהרשימה במסך ההתחברות של Windows דרך הרישום. עבור כל משתמש שברצונך להסתיר, צור פרמטר DWORD תחת מפתח reg HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserListעם שם המשתמש והערך 0 .
רשום את כל שמות חשבונות המשתמש המקומיים באמצעות PowerShell או cmd:
Get-LocalUser | where {$_.enabled –eq $true}
אוֹ:
Net user
כדי להסתיר חשבון משתמש ספציפי (לדוגמה, user123 ) ממסך הכניסה של Windows, הפעל את הפקודה:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v User123
אם חשבון Administrator המובנה של Windows מופעל , וזה לא החשבון היחיד עם הרשאות מנהל מקומיות במחשב ( !!! ), אתה יכול גם להסתיר אותו:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /f /d 0 /v administrator
כדי להסתיר את כל המשתמשים מלבד המשתמש המחובר האחרון, הגדר את הגדרות GPO הבאות בתצורת מחשב -> תבניות ניהול -> מערכת -> כניסה:
- מנה משתמשים מקומיים במחשבים המחוברים לדומיין = מושבת
- אין למנות משתמשים מחוברים במחשב המחובר לדומיין = מופעל
21 הערות
שלי מציג את כל החשבונות כברירת מחדל. איך זה?
זה אבסורד. אם זו בעצם ההגדרה - שלקחה שעה של חיפוש בגוגל - להציג את כל המשתמשים המקומיים במסך הכניסה, העובדה שיש להגדיר אותה ואז ליצור סקריפט מתוזמן כדי לשמור אותה מוגדרת היא... . איזו בדיחה שנאה של מערכת הפעלה.
אני מסכים לגמרי. זה כאילו אף אחד מהמפתחים לא חשב ביסודות רק את ההגדרות שצריך כדי לבצע השתלטות עוינת על IBM. אני רודף אחרי דרך במשך ימים להתחבר כמו כל משתמש אחר בווינדוס 10. אין דרך להחליף משתמשים ואין פתרון בשום מקום. תשאל את מיקרוסופט? התגובה שלהם היא "אין דרך להחליף משתמשים ב-Windows 10? ניסית להתנתק?" (כמעט לקח בן ערובה.)
ארף! זה לא קשור לחשבון מקומי, אבל המדריך הזה עוסק בחשבון דומיין. כאשר יש לך מספר משתמשי דומיין באותו מחשב דומיין, מעניין להציג את כל המשתמשים בחשבון בתפריט ההתחלה.
כברירת מחדל, הם צריכים לבחור "משתמש אחר" ולהקליד גם את המזהה וגם את הסיסמה שלהם. אז בשיטה זו, הם רק צריכים ללחוץ על שם המשתמש המתאים ולהקליד סיסמה.
למידע, זה לא עובד. המשימה המתוזמנת עובדת על כל המשתמשים, ערך ה-Reg עובר מ-0 ל-1 באתחול עבור כל המשתמשים, אך במסך האתחול מופיע רק המשתמש האחרון שנרשם.
לא עובד. MS כנראה הרגה את זה בעדכון.
עליך לשנות את ההרשאות של userwitch reg key: שנה את הבעלים לקבוצת Admin ואפשר שליטה מלאה במפתח עבור Admin והשבת את הרשאת הכתיבה עבור SYSTEM. זה עובד מאז ווינדוס 8.
@רולנד - לא מנהל אבל לעתים קרובות בסופו של דבר צריך לעשות תמיכה בצד השולחן. איך אני עושה את מה שהצעת?
נסה להריץ סקריפט Powershell זה כמנהל:
## נלקח מ-P/Invoke.NET עם התאמות קטנות.
$Definition = @'
באמצעות System;
באמצעות System.Runtime.InteropServices;
public class AdjPriv {
[DllImport(“advapi32.dll”, ExactSpelling = true, SetLastError = true)]
interne static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,
ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr rev);
[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
פנימי סטטי חיצוני bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);
[DllImport("advapi32.dll", SetLastError = true)]
פנימי סטטי חיצוני bool LookupPrivilegeValue(מארח מחרוזת, שם מחרוזת,
ref long pluid);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
מבנה פנימי TokPriv1Luid {
public int Count;
הציבור ארוך לויד;
int public Attr;
}
const internal int SE_PRIVILEGE_ENABLED = 0x00000002;
const internal int TOKEN_QUERY = 0x00000008;
const internal int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
public static bool EnablePrivilege(long processHandle, string privilege) {
bool retVal;
TokPriv1Luid tp;
IntPtr hproc = new IntPtr(processHandle);
IntPtr htok = IntPtr.Zero;
retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
ref htok);
tp.Count = 1;
tp.Luid = 0;
tp.Attr = SE_PRIVILEGE_ENABLED;
retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid);
retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero,
IntPtr.Zero);
החזר retVal;
}
}
'@
# קח הרשאת בעלות
$ProcessHandle = (Get-Process -id $pid). Handle
$type = Add-Type $definition -PassThru
עבור ($i=1; $i -le 10;$i++){
$ status=$type[0]::EnablePrivilege($processHandle, "SeTakeOwnershipPrivilege")
if ($status){break}
if ($i -eq 10){read-host "אין אפשרות לקחת הרשאת בעלות";יציאה}
start- sleep 1|out-null
}
#
$keypath=”SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch”
#
# קבל את שם קבוצת הניהול המקומי
$admin=(get-wmiobject win32_group| Where-Object {$_.sid -eq “s-1-5-32-544”}).name
# שנה בעלים לקבוצת המנהלים המקומית
$regKey = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey(“$keypath”, “ReadWriteSubTree”, "TakeOwnership")
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"$admin")
$regKey.SetAccessControl($regACL)
# שנה הרשאות עבור קבוצת המנהלים המקומית
$regKey = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey ("$keypath", "ReadWriteSubTree", "ChangePermissions")
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("$admin","FullControl","ContainerInherit", "None","Allow")
$regACL.SetAccessRule($regRule)
# שנה הרשאות עבור מערכת
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("SYSTEM","SetValue","ContainerInherit","None" ,"Deny")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)
New-ItemProperty -Path "HKLM:\$keyPath" -שם "Enabled" -Value 1 -PropertyType DWORD -Force |out-null
אתה צריך להפעיל את זה כמנהל כיוון שנדרשת הרשאות מנהל כדי לקבל בעלות על מפתח המשתמשים שבבעלות חשבון המערכת.
תודה, רולנד! ייתכן שאסדר את זה, לאחר ביצוע כמה שינויים במדיניות הקבוצתית. אם לא, הנושא הזה מסומן בסימניות. 🙂
האם זה עובד על משתמשי דומיין עשיתי הכל ועדיין המשתמשים לא מופיעים בהפעלה.
היי לורה מ', האם תוכל להסביר אילו שינויים במדיניות הקבוצתית ביצעת כדי לתקן את זה?
היי נייט. למעשה עקבתי אחר ההוראות שמצאתי באתר זה (תשובה ראשונה לנושא):
https://social.technet.microsoft.com/Forums/en-US/2ab569f5-ec46-4f54-a544-42504589d920/windows-10- logon-screen-retain-previously-logged-domain-users?forum=win10itprosetup
אנא שים לב שאני *לא* מנהל מערכת. אני רק משתמש רגיל שבסופו של דבר נאלץ לנסות ולשחק תמיכה בצד השולחן, אז בהחלט יכול להיות שיש דברים שאני מקשה עליהם יותר ממה שהם צריכים להיות. 🙁
דברים ששמתי לב אליהם-
1. המשתמשים שהוספתי לא הופיעו בפועל ברשימה ברשימה עד לאחר שנכנסו בפעם הראשונה.
2. כשהם התחברו בפעם הראשונה, גיליתי שזה לא עבד אם מישהו אחר היה מחובר כרגע (צריך לעבור על ההגדרה עבור כל משתמש, ולגדיר קוד PIN). לכן, מכיוון ששמם לא היה ברשימה, ביקשתי מהם לבחור משתמש אחר. ואז ביקשתי מהם ללחוץ על "אפשרויות כניסה" וללחוץ על סמל הגלובוס. בהנחה שהמזהים נוצרו באמצעות כתובות האימייל שלהם, ביקשתי מהם להזין את זה ועקבתי אחר ההנחיות משם.
זה מה שעבד בשבילי, אבל החוויה שלך עשויה להיות שונה.
זה (Userswitch) עבד בשבילי עד עדכון 1903. כעת ערכי reg נכונים, אך חלק מהמשתמשים (ללא סיסמאות) מחוברים אוטומטית בעת ההפעלה.
למה המשתמש צריך לדעת כל דבר שקורה מאחורי ה-GUI? זה גרוע כמו ימי MSDOS הישנים!
נכנסתי למחשב העבודה שלי cortana באמצעות חשבון מיקרוסופט האישי שלי, שככל הנראה יצר פרופיל משתמש חדש (החל גם להציג את תמונות חופשת החוף שלי כרקע) אז מחקתי את פרופיל המשתמש והפעלתי מחדש את המחשב כעת האפשרות היחידה להתחבר היא להשתמש אותו פרופיל משתמש זה עתה מחקתי (האישי שלי) אך כעת מבקש סיסמה שלא יצרתי וגם לא הסיסמה האישית הקיימת שלי של Microsoft. גם פרופיל ההתחברות המקורי המוגדר כברירת מחדל שלי אינו מוצג כאפשרות... למעשה, אני ננעל מחוץ למחשב המשרדי החדש שלי.
אף אחד מהאמור לעיל לא עבד עבורי.
חיפשתי גבוה ונמוך באינטרנט עבור פתרון לגרום למספר משתמשים
להופיע במסך ההתחברות ב-Windows 10. הכי טוב שיכולתי לעשות הוא פתרון עוקף
המבוסס על מידע על שרשור Tenforum. אני מספק את זה למקרה שזה יעזור
למישהו אחר. זה לא אלגנטי, אבל מספיק עד שיגיע פתרון אמיתי.
תודתי לשון ברינק.
0. צור משתמש חדש [אדמין] עם סיסמה
1. הקלד 'הפעלה' או {Win+R} כדי לקבל את תיבת הדו-שיח 'הפעלה'
. 2. הקלד 'netplwiz' ולחץ על אישור
3. סמן [אם עדיין לא מסומן] "המשתמשים חייבים הזן שם משתמש וסיסמה כדי להשתמש במחשב זה" תיבת סימון
4. בחר משתמש שאינך מחובר אליו בתור [ראה מס' 0 למעלה]
5. בטל את הסימון "משתמשים חייבים להזין שם משתמש וסיסמה כדי להשתמש במחשב זה"
6. לחץ על אישור
7. לחץ על אישור [להשאיר תיבות סיסמה ריקות]
8. אתחול מחדש.
הכניסה תיכשל, אך סימנים זמינים יופיעו. חזור על 1-8 על משתמש חדש.
לא ניסיתי זאת עבור חשבונות שאינם מנהלי מערכת או עבור יותר משני חשבונות משתמש.
זה עזר לי, חיפשתי את פתרון ההתחברות הזה בכל מקום ורק זה עבד לבסוף. אני כל כך שמח שאני מחובר לאנשים הנכונים ולפתרונות וכך גם המחשב הנייד שלי.
https://answers.microsoft.com/en-us/windows/forum/all/all-local-user-accounts-missing-from-login-screen/9964e4c1-9aed-4fa0-b4c4-84180edf92f0
תודה על הפתרון הנפלא הזה. זה עובד בשבילי בצורה מושלמת. ברוך השם
תודה לך